﻿#pragma once
#include "export_dll.h"
#include <cstdint>
#include <memory>
#include <iostream>
#include "lang/Object.h"
#include "lang/String.h"
#include "util_types.h"

#ifndef ECLASS
#define ECLASS(ClassName, ...) class U_EXPORT_API ClassName : __VA_ARGS__
#endif

#ifndef EBCLASS
#define EBCLASS(ClassName) class U_EXPORT_API ClassName : public yzrilyzr_lang::Object
#endif

#ifdef _WIN32
#define UTIL_PLATFORM_WIN32
#endif
#ifdef __linux__
#define UTIL_PLATFORM_LINUX
#endif
#ifdef __APPLE__
#define UTIL_PLATFORM_APPLE
#endif
#ifdef __ANDROID__
#define UTIL_PLATFORM_ANDROID
#endif

#ifdef _MSC_VER
#pragma warning (disable : 4819)
#pragma warning (disable : 4251)
#endif